home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 April: Mac OS SDK / Dev.CD Apr 97 SDK1.toast / Development Kits (Disc 1) / Apple Shared Library Manager / ASLM Examples / Inspector / Sources / WindowStacker.cp < prev    next >
Encoding:
Text File  |  1996-11-19  |  1.1 KB  |  61 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        WindowStacker.cp
  3.  
  4.     Contains:    xxx put contents here xxx
  5.  
  6.     Copyright:    © 1992-1994 by Apple Computer, Inc., all rights reserved.
  7.  
  8. */
  9.  
  10. #ifndef __WINDOWS__
  11. #include <Windows.h>
  12. #endif
  13.  
  14. #ifndef __WINDOWSTACKER__
  15. #include "WindowStacker.h"
  16. #endif
  17. #ifndef __REGISTEREDOBJECTSWINDOW__
  18. #include "RegisteredObjectsWindow.h"
  19. #endif
  20.  
  21.  
  22. TWindowStacker::TWindowStacker(shortParm hStagger, shortParm vStagger)
  23. {
  24.     InitWindowStacker((short)hStagger, (short)vStagger);
  25. }
  26.  
  27. TWindowStacker::TWindowStacker()
  28. {
  29.     fHStagger = kWindowHStagger;
  30.     fVStagger = kWindowVStagger;
  31. }
  32.  
  33. TWindowStacker::~TWindowStacker()
  34. {
  35. }
  36.  
  37. void TWindowStacker::InitWindowStacker(short hStagger, short vStagger)
  38. {
  39.     fHStagger = hStagger;
  40.     fVStagger = vStagger;
  41. }
  42.  
  43. void TWindowStacker::StackWindows(short& h, short& v)
  44. {
  45.     if (FrontWindow() != NULL)
  46.         PrivateStackWindows(FrontWindow(),h,v);
  47. }
  48.  
  49. void TWindowStacker::PrivateStackWindows(WindowPtr window, short& h, short& v)
  50. {
  51.     WindowPtr nextWindow = WindowPtr(WindowPeek(window)->nextWindow);
  52.     if (nextWindow)
  53.     {
  54.         PrivateStackWindows(nextWindow, h, v);
  55.     }
  56.     MoveWindow(window,h,v,false);
  57.     
  58.     h += fHStagger;
  59.     v += fVStagger;
  60. }
  61.